// i.d(t, {
//   E0: () => DragBeginEvent,
//   _t: () => DragEvent,
//   _R: () => DragEndEvent,
//   u4: () => DragGestureStartEvent,
//   Zv: () => DragGestureEndEvent
// })

import GestureEvent from "./GestureEvent"

export class DragBeginEvent extends GestureEvent {
  constructor(position: THREE.Vector2, buttons: number) {
    super()
    this.position = position
    this.buttons = buttons
  }
}
export class DragEvent extends GestureEvent {
  constructor(position: THREE.Vector2, delta: any, buttons: number, clientPosition) {
    super()
    this.position = position
    this.clientPosition = clientPosition
    this.delta = delta
    this.buttons = buttons
  }
}
export class DragEndEvent extends GestureEvent {
  constructor(position: THREE.Vector2, delta: any, buttons: number, timeSinceLastMove: any, fullDelta: any) {
    super()
    this.position = position
    this.delta = delta
    this.buttons = buttons
    this.timeSinceLastMove = timeSinceLastMove
    this.fullDelta = fullDelta
  }
}
export class DragGestureStartEvent extends GestureEvent {
  constructor(position: THREE.Vector2, pointer: any) {
    super()
    this.position = position
    this.pointer = pointer
  }
}
export class DragGestureEndEvent extends GestureEvent {
  constructor(position: THREE.Vector2, fullDelta: any) {
    super()
    this.position = position
    this.fullDelta = fullDelta
  }
}
